//
// Created by ttai on 2021/12/20.
//

#ifndef SM4_ALGORITHM_BITOPERATION_H
#define SM4_ALGORITHM_BITOPERATION_H

#include "string"
#include "algorithm"
#include "bitset"
#include "vector"
#include "iostream"

using namespace std;
static const char hex_chars[] = "0123456789abcdef";  //十六进制字符
//循环左移
bitset<32> CROL32(bitset<32> bit, int num);

//mod2^32算术加
bitset<32> add_32(bitset<32> bit1, bitset<32> bit2);

string bin_hex(string bin);

string hex_bin(string hex);

int get_l(string m);  //求字符串的比特长度

string string_bin(string m); //返回二进制字符串
string string_hex(string m); //返回十六进制字符串

//二进制转换成字符串
string bin_string(string m);
//十六进制转换成字符串
string hex_string(string m);
#endif //SM4_ALGORITHM_BITOPERATION_H
